package cn.community.system.vo;

import com.alibaba.fastjson.JSON;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@Getter
@Setter
public class ActivityRecordVo {
    private Long id;
    private String association;     // 社团名称
    private Long associationId;     // 社团id
    private String activityName;    // 活动名称
    private Long activityId;        // 活动id
    private String applicant;       // 报名者
    private Long applicantId;       // 报名者id
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createTime;        // 创建时间
    private Double allTime;         // 活动总时长（单位：小时）

    private Integer status = -1;     // 报名状态
    private String reason;  // 报名失败理由

    private String number;  // 学号
    private String academy;    // 学院
    private String major;    // 专业
    private String className;    // 班级
    private Character sex = '男';  //  性别（默认：男）
    private Character myclub;  // 是否属于本社团


    private String site;  // 活动地点
    private Integer nowperson;  // 报名人数
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;      // 活动开始时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;        // 活动结束时间

    public String getJsonString(){
        HashMap<String, Object> map = new HashMap<>();
        map.put("id",id);
        map.put("associationId",associationId);
        map.put("activityId",activityId);
        map.put("applicant",applicant);
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        map.put("createTime",format.format(createTime));
        map.put("status",status);
        map.put("reason",reason);
        map.put("number",number);
        return JSON.toJSONString(map);
    }
}
